package main

import (
	"fmt"
	"github.com/gin-contrib/sessions"
	"github.com/gin-contrib/sessions/redis"
	"github.com/gin-gonic/gin"
	"io"
	"net/http"
	"os"
)

func main() {

	//创建一个默认的 Gin 路由
	r := gin.Default()

	// cookie
	// 接收加密的盐
	// 基于cookie的存储引擎
	//store := cookie.NewStore([]byte("jackson"))
	// 使用session 中间件
	//r.Use(sessions.Sessions("gin_session", store))

	//基于redis的存储引擎
	store, err := redis.NewStore(10, "tcp", "localhost:6379", "", []byte("jackson"))
	fmt.Println(err)
	r.Use(sessions.Sessions("gin_session", store))

	// 设置一个简单的 GET 路由
	r.GET("/", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"message": "success",
		})
	})

	// 日志
	// 创建日志文件
	file, _ := os.Create("gin_project.log")
	gin.DefaultWriter = io.MultiWriter(file, os.Stdout) // 将日志信息 写在日志文件中  也会  打印在控制台

	// 启动http服务器并监听默认端口 8080
	r.Run()
}
